<?php


function list_cuti($tanggal_dari,$tanggal_sampai,$key){
	my_set_file_js(
		array(
			'components/system/jquery/combomulti/jquery.chainedSelects.js',
			'components/system/js/calendar/calendarDateInput.js' 
		)
	);
	

	my_set_code_js('
		function confirmDelete(id){
			var t = confirm(\'Yakin akan menghapus data ?\');
			if(t){
				location.href=\'index.php?com='.$_GET['com'].'&task=delete&id=\'+id;
			}
			return false;
		}
	');
	
	$header = array(
		'#'=>array('style'=>'text-align:center;border-bottom:2px solid;width:5%'),  
		'Nomor Surat'=>array('style'=>'border-bottom:2px solid;width:15%'),  
		'Tgl. Surat'=>array('style'=>'border-bottom:2px solid;width:10%'),  
		'NIK'=>array('style'=>'border-bottom:2px solid;width:10%'),  
		'Nama Karyawan'=>array('style'=>'border-bottom:2px solid;width:25%'),
		'Kel'=>array('style'=>'border-bottom:2px solid;width:5%'),  
		'Tanggal Cuti'=>array('style'=>'text-align:center;border-bottom:2px solid;width:20%'),  
		'HR'=>array('style'=>'text-align:center;border-bottom:2px solid;width:5%'),  
		' '=>array('style'=>'border-bottom:2px solid;width:5%'), 
	);
	list($ddtanggal , $mmtanggal , $yyyytanggal  ) = explode("-" ,$tanggal_dari );
	$tanggal_dari_y = $yyyytanggal ."-". $mmtanggal."-".$ddtanggal;
	list($ddtanggal , $mmtanggal , $yyyytanggal  ) = explode("-" ,$tanggal_sampai );
	$tanggal_sampai_y = $yyyytanggal ."-". $mmtanggal."-".$ddtanggal;

	$query = "
		SELECT * FROM karyawan a 
		INNER JOIN biodata b ON a.biodata_id = b.biodata_id
		INNER JOIN surat_cuti c ON a.karyawan_id = c.karyawan_id
		WHERE a.karyawan_id NOT IN (select karyawan_id FROM karyawan_disable)
		AND a.karyawan_id NOT IN (select karyawan_id FROM pemberhentian) 
		AND (c.tanggal_mulai BETWEEN '{$tanggal_dari_y}' AND '{$tanggal_sampai_y}' )
		AND (c.tanggal_selesai BETWEEN '{$tanggal_dari_y}' AND '{$tanggal_sampai_y}' )" ;
	if(isset($_GET['key'])){
		$query .= " AND b.nama LIKE '%{$_GET['key']}%' OR a.nik ='{$_GET['key']}' OR c.nomor_surat='{$_GET['key']}' " ;
	}		
	$query .= " ORDER BY c.surat_cuti_id DESC ";
 
	$result = my_query($query );
	$total_records = my_num_rows($result );
	$scroll_page =5;  
	$per_page =25;  
	$current_page = isset($_GET['page']) ? (int) $_GET['page'] : 1 ; 
	if($current_page < 1){
		$current_page = 1;
	}		 
	$pager_url  ="index.php?com={$_GET['com']}&tanggal_dari={$tanggal_dari}&tanggal_sampai={$tanggal_sampai}&key={$key}&page=";	 
	$inactive_page_tag = 'style="padding:4px;background-color:#BBBBBB"';  
	$previous_page_text = ' Mundur '; 
	$next_page_text = ' Maju ';  
	$first_page_text = ' Awal '; 
	$last_page_text = ' Akhir ';
	
	$kgPagerOBJ = new kgPager();
	$kgPagerOBJ->pager_set(
		$pager_url, 
		$total_records, 
		$scroll_page, 
		$per_page, 
		$current_page, 
		$inactive_page_tag, 
		$previous_page_text, 
		$next_page_text, 
		$first_page_text, 
		$last_page_text ,$pager_url_last); 
	 		
	$result = my_query($query ." LIMIT ".$kgPagerOBJ->start.", ".$kgPagerOBJ->per_page); 	
	$row = array(); 
	$i = ($current_page  - 1 ) * 25; 
	while($ey = my_fetch_array($result)){
		$i++;
		$editproperty = array(
			'href'=>'index.php?com=surat_cuti&task=edit&tanggal_dari='.$tanggal_dari.'&tanggal_sampai='.$tanggal_sampai.'&key='.$key.'&id='.$ey['surat_cuti_id'],
			'title'=>'Edit'
		);
		$edit_button = button_icon( 'b_edit.png' , $editproperty  );

		$deleteproperty = array(
			'href'=>'javascript:; ',
			'onclick'=>'javascript:confirmDelete('.$ey['surat_cuti_id'].');',
			'title'=>'Delete'
		);
		$delete_button = button_icon( 'b_drop.png' , $deleteproperty  );
		$karyawan = loaddata_karyawan($ey['karyawan_id']);
		$cuti = my_get_data_by_id('a_status_absen','status_absen_id',$ey['kelompok_cuti_id']);
		
		$row[] = array(
			'#'=>position_text_align ($i, 'center'), 
			'nomor'=>  strtoupper($ey['nomor_surat'] ),   
			'tgl'=>  date( 'd-m-Y' , strtotime($ey['tanggal_surat']) ) ,  
			'nik'=>  $karyawan['nik'] ,
			'nama'=>  $karyawan['nama_gelar'] ,
			'jenis'=>  $cuti['initial_cuti'] ,
			'tgl_cuti'=>date( 'd-m-Y' , strtotime($ey['tanggal_mulai']) ).' S/D '. 
				date( 'd-m-Y' , strtotime($ey['tanggal_selesai']) ),
			'n'=> position_text_align(  $ey['cuti_hari'],'center'),
			'ops'=> position_text_align(  $edit_button.' '.$delete_button , 'right'),  
		);
		 
	}
	
	$datas = table_rows($row); 
	$paging = $kgPagerOBJ ->showPaging();

	$ftanggal1 = array(
			'name'=>'tanggal_dari',
			'id'=>'tanggal_dari',
			'value'=>$tanggal_dari,
	);
	$ftanggal2 = array(
			'name'=>'tanggal_sampai',
			'id'=>'tanggal_sampai',
			'value'=>$tanggal_sampai,
	);
		
	$search ='<form method="GET">
	<input type="hidden" name="com" value="'.$_GET["com"].'" />
	<table border="0" width="100%"> <tr>
	<td width="15%">Tgl. Cuti :</td>
	<td width="20%">'.form_calendar($ftanggal1).' </td>
	<td width="5%">s/d</td>
	<td width="20%">'.form_calendar($ftanggal2).' </td>
	<td width="20%">Pencarian cepat</td>
	<td width="10%"><input type="text"  style="width:200px;" name="key" value="'.$key.'" />
	<td width="10%"> <input type="submit" value="GO" class="simple_search"/></td>
	<td align="right" width="0%">  	
	</td></tr></table></form>';
	$menuontop = array(  
		'Kolektif' => array('onclick'=>'javascript:location.href=\'index.php?com='.$_GET['com'].'&task=form_upload\''),
		'Excel'=>array('onclick'=>'javascript:location.href=\'index.php?com='.$_GET['com'].'&task=excel&tanggal_dari='.$tanggal_dari.'&tanggal_sampai='.$tanggal_sampai.'&key='.$key.'\''),
		'Tambah data'=>array('onclick'=>'javascript:location.href=\'index.php?com='.$_GET['com'].'&task=edit&tanggal_dari='.$tanggal_dari.'&tanggal_sampai='.$tanggal_sampai.'&key='.$key.'\''),
	);
	$printmenu = additional_menu_on_list( $menuontop ,''); 
	return $search.$printmenu .table_builder($header , $datas ,  7 , false ,$paging );
} 

function form_cuti_create( $tanggal_dari,$tanggal_sampai,$key,$id ){
	my_set_file_js(
		array(
			'components/system/jquery/combomulti/jquery.chainedSelects.js',
			'components/system/js/calendar/calendarDateInput.js' 
		)
	);
	
	my_set_file_js(
		array(
			'components/system/jquery/autocomplete/jquery.autocomplete.js'  
		)
	);
	my_set_file_css(
		array(
				'components/system/jquery/autocomplete/jquery.autocomplete.css' 
			)
	);

	my_set_code_js('  
		function findValue(li) {
			if( li == null ) return alert("No match!"); 
			if( !!li.extra ) var sValue = li.extra[0]; 
			else var sValue = li.selectValue;
		}

		function selectItem(li) {
			findValue(li);
		}

		function formatItem(row) {
			return   row[0] ;
		}

		function lookupAjax(){
			var oSuggest = $("#nama_karyawan")[0].autocompleter;
			oSuggest.findValue(); 
			return false;
		}
		$(document).ready(function() {
			$("#nama_karyawan").autocomplete(
				"autocomplete_daftar_karyawan.php",
				{
					delay:10,
					minChars:2,
					matchSubset:1,
					matchContains:1,
					cacheLength:5,
					onItemSelect:selectItem,
					onFindValue:findValue,
					formatItem:formatItem,
					autoFill:true
				}
			);
			 
		});

		function checkName(name){
			$.get("check_karyawan_names.php", { nama: name  },
			   function(data){
				 if(data ==  \'0\' ){
					alert(\'Nama karyawan \'+ name+\' tidak ditemukan\nHarap diperiksa kembali\');
					$(\'#nama_karyawan\').val(\'\');
					return false;
				 } 
			   });
		}
	');	

	$view = form_header( "seleski" , "seleski"  );
 	$fields = my_get_data_by_id('surat_cuti','surat_cuti_id',$id);
	$ftanggal = $ftanggalm = $ftanggals = date('d-m-Y');
	if($fields){
		list($yyyytanggal , $mmtanggal,$ddtanggal ) = explode("-" ,$fields['tanggal_surat'] );
		list($yyyytanggalm , $mmtanggalm,$ddtanggalm ) = explode("-" ,$fields['tanggal_mulai'] );
		list($yyyytanggals , $mmtanggals,$ddtanggals ) = explode("-" ,$fields['tanggal_selesai'] );
		$ftanggal = $ddtanggal.'-'.$mmtanggal.'-'.$yyyytanggal;
		$ftanggalm = $ddtanggalm.'-'.$mmtanggalm.'-'.$yyyytanggalm;
		$ftanggals = $ddtanggals.'-'.$mmtanggals.'-'.$yyyytanggals;
	}	
	$nomor_surat = array(
		'name'=>'nomor_surat',
		'value'=>(isset($_POST['nomor_surat'])? $_POST['nomor_surat'] : ($fields ? $fields['nomor_surat'] : get_nomor_cuti_baru() ) ),
		'id'=>'nomor_surat',
		'type'=>'textfield',
		'readonly'=>'readonly',
		'size'=>'35'
	);
	$form_nomor = form_dynamic($nomor_surat);
	$view .= form_field_display( $form_nomor  , "Nomor Surat"  );
	
	$tanggal = array(
		'name'=>'tanggal',
		'value'=>(isset($_POST['tanggal'])? $_POST['tanggal'] : $ftanggal),
		'id'=>'tanggal',
		'type'=>'textfield',
		'size'=>'45'
	);
	$form_tanggal = form_calendar($tanggal);
	$view .= form_field_display( $form_tanggal  , "Tanggal Surat" );

	$karyawan_data = loaddata_karyawan(( $fields ? $fields['karyawan_id'] : 0));
	$karyawan = array(
		'name'=>'nama_karyawan',
		'value'=>(isset($_POST['nama_karyawan'])? $_POST['nama_karyawan'] : ( $fields ? $karyawan_data['nik'].'/'.$karyawan_data['nama'] :'') ),
		'id'=>'nama_karyawan',
		'type'=>'textfield',
		'size'=>'45'
	);
	$form_karyawan = form_dynamic($karyawan);
	$view .= form_field_display( $form_karyawan  , "NIK/Nama Karyawan"  );
	
	$cutis = array();
	$query_cuti = "SELECT * FROM a_status_absen where jenis='C' ORDER BY nama_cuti";
	$re = my_query($query_cuti);
	while($row = my_fetch_array($re) ){
		$cutis[$row['status_absen_id']] =$row['initial_cuti'].' - '.$row['nama_cuti'];
	}
	$cuti = array(
		'name'=>'kelompok_cuti_id',
		'id'=>'kelompok_cuti_id',
		'value'=>isset($_POST['kelompok_cuti_id']) ? $_POST['kelompok_cuti_id'] : $fields['kelompok_cuti_id'] 
		);
	$form_field_cuti = form_dropdown($cuti , $cutis);
	$view .= form_field_display( $form_field_cuti   , "Jenis Cuti");

	$tanggal_mulai = array(
			'name'=>'tanggal_mulai',
			'value'=>(isset($_POST['tanggal_mulai'])? $_POST['tanggal_mulai'] : $ftanggalm),
			'id'=>'tanggal_mulai' 
		);
	$form_tanggal_mulai = form_calendar($tanggal_mulai);
	$view .= form_field_display( $form_tanggal_mulai, "Tanggal mulai" );
	
	$tanggal_selesai = array(
			'name'=>'tanggal_selesai',
			'value'=>(isset($_POST['tanggal_selesai'])? $_POST['tanggal_selesai'] : $ftanggals),
			'id'=>'tanggal_selesai' 
		);
	$form_tanggal_selesai = form_calendar($tanggal_selesai);
	$view .= form_field_display( $form_tanggal_selesai , "Tanggal Selesai" );

	$alamat_cuti = array(
		'name'=>'alamat_cuti',
		'value'=>( isset($_POST['alamat_cuti']) ? $_POST['alamat_cuti'] : $fields['alamat_cuti'] ),
		'id'=>'alamat_cuti', 
		'cols'=>'45',
		'rows'=>'4'
	);
	$form_field_alamat_cuti = form_textarea($alamat_cuti );
	$view .= form_field_display( $form_field_alamat_cuti , "Alamat Selama Cuti"   );

	$telepon_cuti = array(
		'name'=>'telepon_cuti',
		'value'=>(isset($_POST['telepon_cuti'])? $_POST['telepon_cuti'] : $fields['telepon_cuti']),
		'id'=>'telepon_cuti',
		'type'=>'textfield',
		'size'=>'35'
	);
	$form_telepon_cuti = form_dynamic($telepon_cuti);
	$view .= form_field_display( $form_telepon_cuti  , "No. Telepon"  );

	$alamat_dihubungi = array(
		'name'=>'alamat_dihubungi',
		'value'=>( isset($_POST['alamat_dihubungi']) ? $_POST['alamat_dihubungi'] : $fields['alamat_dihubungi'] ),
		'id'=>'alamat_dihubungi', 
		'cols'=>'45',
		'rows'=>'4'
	);
	$form_field_alamat_dihubungi = form_textarea($alamat_dihubungi );
	$view .= form_field_display( $form_field_alamat_dihubungi , "Alamat Yang Dapat Dihubungi"   );
	
	$telepon_dihubungi = array(
		'name'=>'telepon_dihubungi',
		'value'=>(isset($_POST['telepon_dihubungi'])? $_POST['telepon_dihubungi'] : $fields['telepon_dihubungi']),
		'id'=>'telepon_dihubungi',
		'type'=>'textfield',
		'size'=>'35'
	);
	$form_telepon_dihubungi = form_dynamic($telepon_dihubungi);
	$view .= form_field_display( $form_telepon_dihubungi  , "No. Telepon"  );

	$keterangan = array(
		'name'=>'keterangan',
		'value'=>( isset($_POST['keterangan']) ? $_POST['keterangan'] : $fields['keterangan'] ),
		'id'=>'keterangan', 
		'cols'=>'45',
		'rows'=>'4'
	);
	$form_field_keterangan = form_textarea($keterangan );
	$view .= form_field_display( $form_field_keterangan , "Keterangan"   );
	if($id == 0)
		$view .= form_field_display( '<input type="checkbox" name="auto_new" value="1" /> Munculkan formulir baru setelah simpan' , " "   );
 
	$submit = array(
		'value' => ( $id ==0 ? ' Simpan ' :'  Update  '),
		'name' => 'simpan', 
		'type'=>'submit','class'=>'main_button'
	);
	$form_submit= form_dynamic($submit); 
	$back = array(
		'value' => ' Batal  ' ,
		'name' => 'back', 
		'onclick'=>'location.href=\'index.php?com=surat_cuti&tanggal_dari='.$tanggal_dari.'&tanggal_sampai='.$tanggal_sampai.'&key='.$key.'\'',
		'type'=>'button',
		'class'=>'main_button'
	);
	$form_back= form_dynamic($back); 
	$view .= form_field_display( $form_submit .' '. $form_back  , "&nbsp;" ,  "" );	
	$view .= form_footer( );
	return $view;
}

function form_cuti_validasi(){

}


function is_hari_libur( $date ){
	$dayname = date( 'D' , strtotime($date));  
	$freedays = array( 'Sat' , 'Sun' );
	if( in_array($dayname , $freedays ) ){
		
		return true;
	}
	$query = "SELECT * FROM a_hari_libur WHERE DATE(tanggal) = DATE('{$date}') ";
	$result = my_query($query);
	if( my_num_rows($result) > 0 ){
		return true;
	}
	
	return false;
}

function form_cuti_submit($tanggal_dari,$tanggal_sampai,$key,$id = 0){
	$karyawan_id = check_karyawan_by_nik_nama($_POST['nama_karyawan']);

	if($_POST){
		list( $ddtanggal, $mmtanggal,$yyyytanggal ) = explode("-" ,$_POST['tanggal'] );
		list($ddtanggalm , $mmtanggalm,$yyyytanggalm ) = explode("-" ,$_POST['tanggal_mulai'] );
		list($ddtanggals , $mmtanggals,$yyyytanggals ) = explode("-" ,$_POST['tanggal_selesai'] );
		$ftanggal = $yyyytanggal.'-'.$mmtanggal.'-'.$ddtanggal;
		$ftanggalm = $yyyytanggalm.'-'.$mmtanggalm.'-'.$ddtanggalm;
		$ftanggals = $yyyytanggals.'-'.$mmtanggals.'-'.$ddtanggals;		 
		$date1=$yyyytanggalm.'-'.$mmtanggalm.'-'.$ddtanggalm;
		$date2=$yyyytanggals.'-'.$mmtanggals.'-'.$ddtanggals;
		$tanggals = list_kalender($date1 , $date2  ); 
		$tanggals = array_unique($tanggals) ;
		$cuti_hari=0;
		foreach($tanggals as $tgl){
			if( is_hari_libur( $tgl ))continue;
			$cuti_hari++ ;
		} 
	} 
	
	$datas = array(
		'nomor_surat'=>my_type_data_str($_POST['nomor_surat']),
		'tanggal_surat'=>my_type_data_str($ftanggal), 
		'karyawan_id'=> my_type_data_int($karyawan_id),
		'kelompok_cuti_id'=> my_type_data_int($_POST['kelompok_cuti_id']),
		'tanggal_mulai'=>my_type_data_str($ftanggalm), 
		'tanggal_selesai'=>my_type_data_str($ftanggals), 
		'cuti_hari'=> my_type_data_int($cuti_hari),
		'alamat_cuti'=>my_type_data_str($_POST['alamat_cuti']),
		'alamat_dihubungi'=>my_type_data_str($_POST['alamat_dihubungi']),
		'keterangan'=>my_type_data_str($_POST['keterangan']),
		'telepon_cuti'=>my_type_data_str($_POST['telepon_cuti']),
		'telepon_dihubungi'=>my_type_data_str($_POST['telepon_dihubungi']),
	);
	 
	if($id > 0){
	
		return my_update_record('surat_cuti','surat_cuti_id',$id,$datas);
	}
	$new_id = my_insert_record('surat_cuti',$datas);
	return $new_id;
}


function check_karyawan_cuti_exists($karyawan_id , $date){
	$query = "SELECT nomor_surat FROM surat_cuti WHERE karyawan_id = {$karyawan_id} 
		AND ( DATE('{$date}') BETWEEN DATE(tanggal_mulai) AND DATE(tanggal_selesai) ) ";
  
	$result = my_query($query);
	if(my_num_rows($result) > 0){
		$row = my_fetch_array($result);
		return $row['nomor_surat'];
	}
	return false;
}

function form_cuti_validate($tanggal_dari,$tanggal_sampai,$key,$id =0){
	$errsubmit = false;
	$err = array(); 
	$errsubmit = false;
	$err = array();
	 
	$karyawan_id= check_karyawan_by_nik_nama($_POST['nama_karyawan']);
	/*CHECK NOMOR SURAT*/
	if($karyawan_id == 0){
		$errsubmit = true;
		$err[] = "Nama karyawan tidak di temukan";	
	}
	
 
		list( $ddtanggal, $mmtanggal,$yyyytanggal ) = explode("-" ,$_POST['tanggal'] );
		list($yyyytanggalm , $mmtanggalm,$ddtanggalm ) = explode("-" ,$_POST['tanggal_mulai'] );
		list($yyyytanggals , $mmtanggals,$ddtanggals ) = explode("-" ,$_POST['tanggal_selesai'] );
		$ftanggal = $yyyytanggal.'-'.$mmtanggal.'-'.$ddtanggal;
		$ftanggalm = $ddtanggalm.'-'.$mmtanggalm.'-'.$yyyytanggalm;
		$ftanggals = $ddtanggals.'-'.$mmtanggals.'-'.$yyyytanggals;	
		$nomor_surat = check_karyawan_cuti_exists($karyawan_id , $yyyytanggalm ); 
		if($nomor_surat){
			$errsubmit = true;
			$err[] = "Pengajuan cuti bentrok dengan nomor surat ".$nomor_surat;
		}
	 
	if($_POST['kelompok_cuti_id'] == 0){
		$errsubmit = true;
		$err[] = "Jenis cuti belum dipilih";
	}

	if(!$ftanggal){
		$errsubmit = true;
		$err[] = "Tanggal tidak benar";	
	}
 
 
	if( $errsubmit){
		return $err;
	}
	return $errsubmit;
} 

function delete_cuti($id){
	$query = "DELETE FROM surat_cuti WHERE surat_cuti_id ={$id} ";
	return my_query($query);
}	



function get_nomor_cuti_baru(){
	$query = "SELECT max(RIGHT( nomor_surat,4)) AS mmax FROM surat_cuti WHERE YEAR(tanggal_surat) = YEAR(NOW())";
	$result = my_query($query);
	$row = my_fetch_array($result);
	return date('Ym').sprintf('%04d' , $row['mmax'] +1);
}


function print_plain($tanggal_dari,$tanggal_sampai,$key){
	list($ddtanggal , $mmtanggal , $yyyytanggal  ) = explode("-" ,$tanggal_dari );
	$tanggal_dari_y = $yyyytanggal ."-". $mmtanggal."-".$ddtanggal;
	list($ddtanggal , $mmtanggal , $yyyytanggal  ) = explode("-" ,$tanggal_sampai );
	$tanggal_sampai_y = $yyyytanggal ."-". $mmtanggal."-".$ddtanggal;

	$query = "
		SELECT * FROM karyawan a 
		INNER JOIN biodata b ON a.biodata_id = b.biodata_id
		INNER JOIN surat_cuti c ON a.karyawan_id = c.karyawan_id
		WHERE a.karyawan_id NOT IN (select karyawan_id FROM karyawan_disable)
		AND a.karyawan_id NOT IN (select karyawan_id FROM pemberhentian) 
		AND (c.tanggal_mulai BETWEEN '{$tanggal_dari_y}' AND '{$tanggal_sampai_y}' )
		AND (c.tanggal_selesai BETWEEN '{$tanggal_dari_y}' AND '{$tanggal_sampai_y}' )" ;
	if(isset($_GET['key'])){
		$query .= " AND b.nama LIKE '%{$_GET['key']}%' OR a.nik ='{$_GET['key']}' OR c.nomor_surat='{$_GET['key']}' " ;
	}		
	$query .= " ORDER BY c.surat_cuti_id DESC ";
	$result = my_query($query ); 
	$datas = array();  
	$i=1;
	$datas[] = array(
		'k1'=>array("NIK" ,10,STR_PAD_RIGHT),
		'k2'=>array("Nama" ,20,STR_PAD_RIGHT),
		'k3'=>array("Direktorat" ,20,STR_PAD_RIGHT),
		'k4'=>array("Jabatan" ,20,STR_PAD_RIGHT),
		'k5'=>array("Jenis Cuti" ,10,STR_PAD_RIGHT),
		'k6'=>array("Dari Tanggal" ,10,STR_PAD_RIGHT),
		'k7'=>array("Sampai Tanggal" ,10,STR_PAD_LEFT),  
		'k8'=>array("Jumlah" ,20,STR_PAD_BOTH),  
	); 
	$datas[] = array(
		'k1'=>array(" " ,10,STR_PAD_RIGHT),
		'k2'=>array(" " ,20,STR_PAD_RIGHT),
		'k3'=>array("Subdir" ,20,STR_PAD_RIGHT),
		'k4'=>array(" " ,20,STR_PAD_RIGHT),
		'k5'=>array(" " ,10,STR_PAD_RIGHT),
		'k6'=>array(" " ,10,STR_PAD_RIGHT),
		'k7'=>array(" " ,10,STR_PAD_LEFT),  
		'k8'=>array("Hari" ,20,STR_PAD_BOTH),  
	); 
	$datas[] = array(
		'k1'=>array(" " ,10,STR_PAD_RIGHT),
		'k2'=>array(" " ,20,STR_PAD_RIGHT),
		'k3'=>array("Departemen" ,20,STR_PAD_RIGHT),
		'k4'=>array(" " ,20,STR_PAD_RIGHT),
		'k5'=>array(" " ,10,STR_PAD_RIGHT),
		'k6'=>array(" " ,10,STR_PAD_RIGHT),
		'k7'=>array(" " ,10,STR_PAD_LEFT),  
		'k8'=>array(" " ,20,STR_PAD_BOTH),  
	); 
	$datas[] = array(
		'k1'=>array(" " ,10,STR_PAD_RIGHT),
		'k2'=>array(" " ,20,STR_PAD_RIGHT),
		'k3'=>array("Bidang" ,20,STR_PAD_RIGHT),
		'k4'=>array(" " ,20,STR_PAD_RIGHT),
		'k5'=>array(" " ,10,STR_PAD_RIGHT),
		'k6'=>array(" " ,10,STR_PAD_RIGHT),
		'k7'=>array(" " ,10,STR_PAD_LEFT),  
		'k8'=>array(" " ,20,STR_PAD_BOTH),  
	); 	
	while($ey = my_fetch_array($result)){
		$karyawan=loaddata_karyawan( $ey['karyawan_id']); 
		$jabatan=loaddata_jabatan( $karyawan['jabatan_id']); 
		$cuti = my_get_data_by_id('a_status_absen','status_absen_id',$ey['kelompok_cuti_id']);
		$datas[] = array(
			'k1'=>array($karyawan['nik'] ,10,STR_PAD_RIGHT),
			'k2'=>array($karyawan['nama_gelar'] ,20,STR_PAD_RIGHT),
			'k3'=>array($jabatan['organisasi_direktorat'] ,20,STR_PAD_RIGHT),
			'k4'=>array($jabatan['nama_jabatan'] ,20,STR_PAD_RIGHT),
			'k5'=>array( $cuti['initial_cuti'] ,10,STR_PAD_RIGHT),
			'k6'=>array(date( 'd-m-Y' , strtotime($ey['tanggal_mulai']) ) ,10,STR_PAD_RIGHT),
			'k7'=>array(date( 'd-m-Y' , strtotime($ey['tanggal_selesai']) ) ,10,STR_PAD_LEFT),  
			'k8'=>array($ey['cuti_hari'] ,20,STR_PAD_BOTH),  
		); 	
		$datas[] = array(
			'k1'=>array(" " ,10,STR_PAD_RIGHT),
			'k2'=>array(" " ,20,STR_PAD_RIGHT),
			'k3'=>array($jabatan['organisasi_sub_direktorat'] ,20,STR_PAD_RIGHT),
			'k4'=>array(" " ,20,STR_PAD_RIGHT),
			'k5'=>array(" " ,10,STR_PAD_RIGHT),
			'k6'=>array(" " ,10,STR_PAD_RIGHT),
			'k7'=>array(" " ,10,STR_PAD_LEFT),  
			'k8'=>array(" " ,20,STR_PAD_BOTH),  
		); 	
		$datas[] = array(
				'k1'=>array(" " ,10,STR_PAD_RIGHT),
				'k2'=>array(" " ,20,STR_PAD_RIGHT),
				'k3'=>array($jabatan['organisasi_departemen'] ,20,STR_PAD_RIGHT),
				'k4'=>array(" " ,20,STR_PAD_RIGHT),
				'k5'=>array(" " ,10,STR_PAD_RIGHT),
				'k6'=>array(" " ,10,STR_PAD_RIGHT),
				'k7'=>array(" " ,10,STR_PAD_LEFT),  
				'k8'=>array(" " ,20,STR_PAD_BOTH),  
			); 	
		$datas[] = array(
				'k1'=>array(" " ,10,STR_PAD_RIGHT),
				'k2'=>array(" " ,20,STR_PAD_RIGHT),
				'k3'=>array($jabatan['organisasi_bidang'] ,20,STR_PAD_RIGHT),
				'k4'=>array(" " ,20,STR_PAD_RIGHT),
				'k5'=>array(" " ,10,STR_PAD_RIGHT),
				'k6'=>array(" " ,10,STR_PAD_RIGHT),
				'k7'=>array(" " ,10,STR_PAD_LEFT),  
				'k8'=>array(" " ,20,STR_PAD_BOTH),  
		); 	
	}	
	$view = 	str_pad("CETAK LAPORAM LIMIT WAKTU",100," ",STR_PAD_BOTH);
	return $view ."\n"."\n".set_txt_report($datas);
}

function excel_report($tanggal_dari,$tanggal_sampai,$key){
	my_component_load('xl_builder' , false);
	$header = array(
		'NIK'=>array('style'=>'width:10%'),  
		'Nama'=>array('style'=>'width:20%'),  
 
		'Jabatan'=>array('style'=>'width:20%'),  
		'Jenis Cuti'=>array('style'=>'width:10%'),  
		'Dari Tanggal'=>array('style'=>'width:10%'),  
		'Sampai Tanggal'=>array('style'=>'width:10%'),  
		'Jumlah'=>array('style'=>'width:20%'),  
	);
	list($ddtanggal , $mmtanggal , $yyyytanggal  ) = explode("-" ,$tanggal_dari );
	$tanggal_dari_y = $yyyytanggal ."-". $mmtanggal."-".$ddtanggal;
	list($ddtanggal , $mmtanggal , $yyyytanggal  ) = explode("-" ,$tanggal_sampai );
	$tanggal_sampai_y = $yyyytanggal ."-". $mmtanggal."-".$ddtanggal;

	$query = "
		SELECT * FROM karyawan a 
		INNER JOIN biodata b ON a.biodata_id = b.biodata_id
		INNER JOIN surat_cuti c ON a.karyawan_id = c.karyawan_id
		WHERE a.karyawan_id NOT IN (select karyawan_id FROM karyawan_disable)
		AND a.karyawan_id NOT IN (select karyawan_id FROM pemberhentian) 
		AND (c.tanggal_mulai BETWEEN '{$tanggal_dari_y}' AND '{$tanggal_sampai_y}' )
		AND (c.tanggal_selesai BETWEEN '{$tanggal_dari_y}' AND '{$tanggal_sampai_y}' )" ;
	if(isset($_GET['key'])){
		$query .= " AND b.nama LIKE '%{$_GET['key']}%' OR a.nik ='{$_GET['key']}' OR c.nomor_surat='{$_GET['key']}' " ;
	}		
	$query .= " ORDER BY c.surat_cuti_id DESC ";
 
	$result = my_query($query );
	$row = array(); 
	$i = 0 ;
	while($ey = my_fetch_array($result)){
		$i++;
		$karyawan = loaddata_karyawan($ey['karyawan_id']);
		$jabatan=loaddata_jabatan( $karyawan['jabatan_id']); 
		$cuti = my_get_data_by_id('a_status_absen','status_absen_id',$ey['kelompok_cuti_id']);
		
		$row[] = array(
			'k1'=>'\''.$karyawan['nik'],
			'k2'=>$karyawan['nama_gelar'],
 
			'k4'=>$jabatan['nama_jabatan'],
			'k5'=>$cuti['initial_cuti'],
			'k6'=>date( 'd-m-Y' , strtotime($ey['tanggal_mulai']) ) ,
			'k7'=>date( 'd-m-Y' , strtotime($ey['tanggal_selesai']) ) ,
			'k8'=>$ey['cuti_hari'] ,
		 );
	}

	$datas = table_rows_excel($row); 
	return table_builder_excel($header , $datas , 15 ,false ); 
}

//UPLOAD BATCH

function upload_collective_cuti(){
	$dest ='files/csv/file_cuti_bersama_'.date('Ymd_his').'.csv';
	$ori = $_FILES['filexl']['tmp_name'];
	$upload = move_uploaded_file($ori , $dest);  
	$i=0;
	if($upload){ 
	
		$handle = fopen($dest, "r"); 
		while (($datas = fgetcsv($handle, 1000, ",")) !== FALSE) { 
				if(!cuti_bersama_proses($datas)) continue;  
				$i++;
		}
		fclose($handle);
	}
	return $i ;
}

function cuti_bersama_proses($datas){
	$nik = $datas[0]; 
	$telepon = $datas[1]; 
	list( $ddtanggal, $mmtanggal,$yyyytanggal ) = explode("-" ,$_POST['tanggal'] );
	$date = $yyyytanggal.'-'.$mmtanggal.'-'.$ddtanggal; 
	$karyawan_id = check_karyawan_by_nik($nik);
	if( check_alreade_cuti($karyawan_id , $date) ){
		return false;
	}
	
	$datas = array(
		'nomor_surat'=>my_type_data_str('CLC'.rand(10000,99999)),
		'tanggal_surat'=>my_type_data_function('NOW()'), 
		'karyawan_id'=> my_type_data_int($karyawan_id),
		'kelompok_cuti_id'=> my_type_data_int(7),
		'tanggal_mulai'=>my_type_data_str($date), 
		'tanggal_selesai'=>my_type_data_str($date), 
		'cuti_hari'=> my_type_data_int(1), 
		'alamat_cuti'=>my_type_data_str($_POST['keterangan']), 
		'telepon_dihubungi'=>my_type_data_str($telepon),
	);
	return my_insert_record('surat_cuti',$datas);
}

function check_alreade_cuti($karyawan_id , $date){
	$query = "	SELECT * FROM surat_cuti WHERE karyawan_id ={$karyawan_id} AND
				(
						DATE( tanggal_mulai ) <= DATE(  '{$date}' ) 
					AND DATE( tanggal_selesai ) >= DATE(  '{$date}' )
				) ";	 
	$result = my_query($query);
	if( my_num_rows($result) > 0 ){
		return true;
	}
	return false;
}

function form_collective_cuti(){
	my_set_file_js(
		array(
			'components/system/jquery/combomulti/jquery.chainedSelects.js',
			'components/system/js/calendar/calendarDateInput.js' 
		)
	);
	
	$view = form_header( "upload" , "upload"  );
	$ftanggal = date('d-m-Y');
	$tanggal = array(
		'name'=>'tanggal',
		'value'=>(isset($_POST['tanggal'])? $_POST['tanggal'] : $ftanggal),
		'id'=>'tanggal',
		'type'=>'textfield',
		'size'=>'45'
	);
	$form_tanggal = form_calendar($tanggal);
	$view .= form_field_display( $form_tanggal , "Tanggal cuti bersama" );
	
	$file = array(
			'name'=>'filexl',
			'value'=>(isset($_POST['filexl'])? $_POST['filexl'] : $fields['filexl']),
			'id'=>'file' ,'size'=>'70',
			'type'=>'file'
	);
	$form_nominal = form_dynamic($file);
	$view .= form_field_display( $form_nominal .'<br /><font size="1">Format CSV: NIK,no_telpon_aktif (mis: 00000XX,081234567890) </font>', "File CSV" );
	
	
	$keterangan = array(
		'name'=>'keterangan',
		'value'=>( isset($_POST['keterangan']) ? $_POST['keterangan'] : $fields['keterangan'] ),
		'id'=>'keterangan', 
		'cols'=>'45',
		'rows'=>'4'
	);
	$form_field_keterangan = form_textarea($keterangan );
	$view .= form_field_display( $form_field_keterangan , "Keterangan"   );
	
	$submit = array(
		'value' => ' Proses ',
		'name' => 'simpan', 
		'type'=>'submit','class'=>'main_button'
	);
	$form_submit= form_dynamic($submit); 
	
	$view .= form_field_display( $form_submit  , "&nbsp;" ,  "" );
	$view .= form_footer( );
	return $view;
}